//
//  UIDevice+HardwareInfo.h
//  NNDeviceInformation
//
//  Created by lx on 2017/9/13.
//  Copyright © 2017年 刘朋坤. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIDevice (HardwareInfo)

#pragma mark - app信息
/// app名称
+(NSString *)zm_getAppName;

/// app版本
+(NSString *)zm_getAPPVerion;
/// app build版本
+(NSString *)zm_getAppBuildVersion;

#pragma mark - 设备信息
/// 屏幕宽度
+ (CGFloat)zm_getDeviceScreenWidth;
/// 屏幕高度
+ (CGFloat)zm_getDeviceScreenHeight;
///手机型号
+(NSString *)zm_getDeviceModel;
///地方型号  （国际化区域名称）
+(NSString *)zm_getDeviceLocalizedModel;
/// 获取设备版本号
+ (NSString *)zm_getDeviceName;

/// 获取iPhone名称
+ (NSString *)zm_getiPhoneName;

/// 获取电池电量
+ (CGFloat)zm_getBatteryLevel;

/// 当前系统名称
+ (NSString *)zm_getSystemName;

/// 当前系统版本号
+ (NSString *)zm_getSystemVersion;

/// 通用唯一识别码UUID
+ (NSString *)zm_getUUID;

/// 获取当前设备IP
+ (NSString *)zm_getDeviceIPAdress;

/// 获取精准电池电量
+ (CGFloat)zm_getCurrentBatteryLevel;

/// 获取电池当前的状态，共有4种状态
+ (NSString *)zm_getBatteryState;

/// 获取当前语言
+ (NSString *)zm_getDeviceLanguage;


#pragma mark - 内存管理
///Ram大小(运行内存数据统计)
+ (void)zm_getMemoryStatistics;


/**获取当前APP的内存*/
+(CGFloat)zm_getCurrentUsedMemoryInMB;
/**获取当前APP的内存*/
+ (CGFloat)zm_usedMemoryInMB;

/**获取当前APP的CPU*/
+(CGFloat)zm_getCpuUsage;
/**获取当前APP的CPU*/
+ (CGFloat)zm_getDeviceCpuUsage;


/**获取手机内存总量,返回的是MB*/
+ (CGFloat)zm_getTotalMemorySizeInMB;
/**获取手机可用内存,返回的是MB RAM*/
+ (CGFloat)zm_getAvailableMemorySizeInMB;
/**获取手机硬盘空闲空间,返回的是MB ROM*/
+ (CGFloat)zm_freeDiskSpaceInMB;
/**获取手机硬盘所有空间,返回的是MB*/
+ (CGFloat)zm_totalDiskSpaceInMB;
/**是否越狱*/
+ (BOOL)zm_isJailBreak;

///获取APP的IP地址
+ (NSString *)getIPAddress;

@end
